import freemarker.cache.FileTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.junit.Test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 第一个FreeMarker程序(数据+模板=文件输出)
 * @author jamie
 */
public class FreemarkerTest01 {
    @Test
    public void test01() throws IOException, TemplateException {
        // 1.创建FreeMarker的配置类
        Configuration cfg = new Configuration();
        // 2.指定模板加载器:将模板存入缓存中
        FileTemplateLoader ftl = new FileTemplateLoader(new File("templates"));
        cfg.setTemplateLoader(ftl);
        // 3.获取模板
        Template template = cfg.getTemplate("template01.ftl");
        // 4.构建数据模型
        Map<String, Object> dataModel = new HashMap<>(16);
        dataModel.put("username", "jamie");
        // 5.文件输出
        /* 处理模型
         * 参数一：数据模型
         * 参数二：writer(FileWriter(文件输出),printWriter(控制台数据))
         */
        template.process(dataModel, new FileWriter("E:\\jamie-product\\personal\\freemarker-example\\freemarker-demo\\writer\\FreemarkerTest01.txt"));

    }
}
